package com.hr.service;

import com.hr.domain.dto.EditUserDTO;
import com.hr.domain.dto.UserDTO;
import com.hr.domain.query.UserPageResult;
import com.hr.domain.query.UserQueryParams;
import com.hr.domain.vo.ClientUserInfoVO;
import com.hr.domain.vo.UserVO;

import java.util.List;

/**
* @author 86150
* @description 针对表【user(用户表)】的数据库操作Service
* @createDate 2025-09-22 15:58:46
*/
public interface UserService{

    /**
     * 获取所有用户
     *
     * @return msg
     */
    List<UserVO> getAllUsers();

    /**
     * 获取用户分页列表
     *
     * @param queryParams 查询参数
     * @return msg
     */
    UserPageResult getUserPageList(UserQueryParams queryParams);

    /**
     * 更新用户状态
     *
     * @param id      用户id
     * @param status  用户状态
     * @return msg
     */
    String updateUserStatus(Long id, Integer status);

    /**
     * 新增用户
     *
     * @param userDTO 用户信息
     * @return msg
     */
    String addUser(UserDTO userDTO);

    /**
     * 根据id查询用户信息
     *
     * @param id 用户id
     * @return msg
     */
    UserVO SelectById(Long id);

    /**
     * 修改用户信息
     *
     * @param editUserDTO 用户信息
     * @return msg
     */
    String updateUser(EditUserDTO editUserDTO);

    /**
     * 获取用户信息
     *
     * @return ClientUserInfoVO
     */
    ClientUserInfoVO getUserInfo(Long id);
}
